package com.lincoln.cloud.servercenter.interfaces;

import java.io.Serializable;
import java.util.List;

/**
 * 服务器池用的容器
 *
 * @author admin
 */
public interface ServerPoolContainer extends Serializable {
    /**
     * 通过id查询服务器
     *
     * @param id
     * @return
     */
    BaseServerInfo findById(int id);

    /**
     * 通过服务器名查询服务器
     * @param name
     * @return
     */
    List<BaseServerInfo> findByName(String name);

    /**
     * 查询全部
     * @return
     */
    List<BaseServerInfo> findAll();

    /**
     * 添加一个服务器
     *
     * @param serverInfo
     * @return
     */
    boolean addServer(BaseServerInfo serverInfo);

    /**
     * 通过id删除服务器,并断开
     *
     * @param id
     * @return
     */
    boolean deleteServer(int id);

    /**
     * 通过名字删除一组服务器,并断开
     *
     * @param name
     * @return
     */
    boolean deleteServer(String name);
}
